<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <ul id="ul">
      <li>
        a
        <ul>
          <li>a1</li>
          <li>a2</li>
          <li>a3</li>
        </ul>
      </li>
      <li>
        b
        <ul>
          <li>b1</li>
          <li>
            b2
            <ul>
              <li>b21</li>
              <li>b22</li>
              <li>b23</li>
              <li>b24</li>
            </ul>
          </li>
        </ul>
      </li>
      <li>c</li>
    </ul>
    <script>
      // 递归
      function tree(ul) {
        [...ul.children].forEach((el) => {
          console.log(el);
          if (el.firstElementChild) {
            tree(el.firstElementChild
            );
            // [...el.firstElementChild.children].forEach()
          }
        });
      }

      tree(document.getElementById("ul"));

      // {
      //   a: {
      //     a1: {
      //     }
      //     a2: {
      //     }
      //     a3: {
      //     }
      //   }
      //   b: {
      //     b1: {
      //     }
      //     b2: {
      //       b21: {
      //       }
      //       b22: {
      //       }
      //       b23: {
      //       }
      //       b24: {
      //       }
      //     }
      //   }
      //   c: {
      //   }
      // }
    </script>
  </body>
</html>
